<?php

class Temporal_model extends CI_Model {

    function __construct() {
        parent::__construct();
    }
    public function obtieneUsuarios(){
        $sql ="select departamentoId,usuarioId from usuarios where departamentoId is not null and departamentoId <>''";
        return $this->db->query($sql);
    }
    public function modalidades($departamentoId){
        $sql = "select moda.* from agentes agen
                inner join municipios mun on mun.municipioId = agen.municipioId
                inner join modalidades moda on moda.modalidadId = agen.modalidadId
                where mun.departamentoId = '$departamentoId' group by agen.modalidadId order by moda.`modalidadNombre`";
        return $this->db->query($sql);
    }
    public function creaRegistros($usuarioId,$departamentoId,$modalidadId){
        /*Hace el ciclo para los 10 instrumentos de campo*/
        $this->db->trans_start(); //inicia la transaccion
        for($InstrumentoId = 9;$InstrumentoId <= 18;$InstrumentoId++){
            $sql = "select `aplicaInstId` from aplicainstrumento where `usuarioId` = '$usuarioId' and `departamentoId` = '$departamentoId' and `modalidadId` = '$modalidadId' and `instrumentoId` = '$InstrumentoId'";
            $result = $this->db->query($sql);
            if($result->num_rows() > 0){ //existe el registro y entonces se edita
                $result = $result->result();
                $aplicaInsId = $result[0]->aplicaInstId;
            }else{ //no existe el registro entonces se crea
                $sql = "insert into aplicainstrumento(`aplicaInstFechaCreo`,instrumentoId,`usuarioId`,`modalidadId`,`departamentoId`) values (now(),'$InstrumentoId','$usuarioId','$modalidadId','$departamentoId')";
                $result = $this->db->query($sql);
                $aplicaInsId = $this->db->insert_id();
            } //fin if($result->num_rows() > 0){
            //Se recorreo la tabla de relacion para buscar si existen respuesta para dicha pregunta
            $sql = "select * from tempexportar where `instrumentoId` = '$InstrumentoId'";
            $result = $this->db->query($sql);
            foreach($result->result() as $registroTmp){
                $sql = "select * from aplicainstrumentodetalles where `aplicaInstId` = '$aplicaInsId' and `preguntaId` = '{$registroTmp->preguntaId}'";
                $pregunta = $this->db->query($sql);
                if($pregunta->num_rows() == 0){ //únicamente inserta registros cuando no se ha registrado nada como respuesta a la pregunta
                    //recorre todos los instrumentos relacionados para concatenar las respuestas a las preguntas planteadas
                    $respuesta = "";
                    $sql ="select apliDet.`aplicaInstDetResp`,apliDet.`aplicaInstDetRespText`,agen.`agenteId`,agen.`agenteNombre` from aplicainstrumento apli
                    left join agentes agen on agen.`agenteId` = apli.`agenteId`
                    inner join aplicainstrumentodetalles apliDet on apliDet.`aplicaInstId` = apli.`aplicaInstId`
                    where apli.`instrumentoId` = '{$registroTmp->instrumentoId_rel}' and apli.`usuarioId` ='$usuarioId' and apliDet.`preguntaId` = '{$registroTmp->preguntaId_rel}'";
                    $tmpRes = $this->db->query($sql);
                    echo $sql."<br";
                    foreach($tmpRes->result() as $respAplicacion){
                        $respuesta .= ". Agente id:".$respAplicacion->agenteId." ".$respAplicacion->agenteNombre." ".$respAplicacion->aplicaInstDetResp.$respAplicacion->aplicaInstDetRespText;
                    }
//                    mysqli_real_escape_string()
//                    $respuesta = mysqli_real_escape_string($respuesta); //Se hace esto para escapar carácteres raros
                    $sql ="insert into aplicainstrumentodetalles(`aplicaInstId`,`aplicaInstDetRespText`,`preguntaId`) VALUES('$aplicaInsId','$respuesta','{$registroTmp->preguntaId}')";
                    $this->db->query($sql);
                }
            }
        } //fin for($tmpInst = 9;$tmpInst <= 18;$tmpInst++){
        $this->db->trans_complete();
        return ;
    }
    public function guardaInstru($pregId, $transaccion, $convencion, $explicacion, $id) {
        if ($id != "") {
            $sql = "update temporal set varchar1 = '$convencion', varchar2 = '$explicacion' where idtemporal = '$id' ";
        } else {
            $sql = "insert into temporal(transaccion,`indiceInt`,varchar1,varchar2) values(";
            $sql .= "'$transaccion','$pregId','$convencion','$explicacion')";
        }
        $this->db->query($sql);
        return;
    }
//fin guardaInstru
    public function eliminaTmp($id){
        /*Elimina de temporal*/
        $sql = "delete from temporal where idtemporal = '$id'";
        $this->db->query($sql);
        return true;
    }
}

//fin class
?>
